From: Keir Fraser Date: Thu, 4 Dec 2008 11:32:43 +0000 (+0000) Subject: xm: Fix xm block-list for inactive managed domains X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~14037^2~4 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https://%22%22/%22http:/www.example.com/cgi/%22https:/%22%22?a=commitdiff_plain;h=69dff7d53223944bbbfa88a124473d718400dc3d;p=xen.git xm: Fix xm block-list for inactive managed domains Signed-off-by: Masaki Kanno --- diff --git a/tools/python/xen/xend/XendDomainInfo.py b/tools/python/xen/xend/XendDomainInfo.py index 7478cb2885..c91a577b2a 100644 --- a/tools/python/xen/xend/XendDomainInfo.py +++ b/tools/python/xen/xend/XendDomainInfo.py @@ -1018,7 +1018,8 @@ class XendDomainInfo: sxprs = [] dev_num = 0 for dev_type, dev_info in self.info.all_devices_sxpr(): - if dev_type != deviceClass: + if (deviceClass == 'vbd' and dev_type not in ['vbd', 'tap']) or \ + (deviceClass != 'vbd' and dev_type != deviceClass): continue if deviceClass == 'vscsi': @@ -1028,6 +1029,16 @@ class XendDomainInfo: vscsi_devs[1].append(vscsi_dev) dev_num = int(sxp.child_value(vscsi_dev, 'devid')) sxprs.append([dev_num, [vscsi_devs]]) + elif deviceClass == 'vbd': + dev = sxp.child_value(dev_info, 'dev') + if 'ioemu:' in dev: + (_, dev) = dev.split(':', 1) + try: + (dev_name, _) = dev.split(':', 1) # Remove ":disk" or ":cdrom" + except ValueError: + dev_name = dev + dev_num = self.getDeviceController('vbd').convertToDeviceNumber(dev_name) + sxprs.append([dev_num, dev_info]) else: sxprs.append([dev_num, dev_info]) dev_num += 1